﻿using System.Collections.Generic;
using Microsoft.SharePoint.Administration;
using System;

namespace Trentacular.SharePoint.Deployment.Model
{
    public class Solution : NamedEntity
    {
        public virtual Farm Farm { get; set; }

        public virtual bool Deployed { get; set; }
        public virtual SPSolutionDeploymentState DeploymentState { get; set; }
        public virtual bool ContainsCasPolicy { get; set; }
        public virtual bool ContainsGlobalAssembly { get; set; }
        public virtual bool ContainsWebApplicationResource { get; set; }
        public virtual string LastOperationDetails { get; set; }
        public virtual DateTime LastOperationEndTime { get; set; }
        public virtual SPSolutionOperationResult LastOperationResult { get; set; }

        public virtual IList<WebApplication> DeployedWebApplications { get; set; }

        public virtual IList<FeatureDefinition> FeatureDefinitions { get; set; }
    }
}
